<?php

declare (strict_types=1);
namespace App\Model;

use App\Lib\Redis;
/**
 * @property int $id 
 * @property string $option_name 配置名，展示使用
 * @property string $option 配置名，程序使用
 * @property int $type 1数字 2时间段
 * @property string $option_value 配置值
 * @property string $limit 配置值限制
 * @property string $create_time 添加时间
 * @property string $update_time 更新时间
 */
class Option extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'option';
    /**
     * 缓存
     * @return array
     */
    public function cache()
    {
        $lists = $this->newQuery()->select('option', 'option_value')->select();
        $data = [];
        // redis存储
        foreach ($lists as $item) {
            $data[$item['option']] = $item['option_value'];
        }
        Redis::get()->hmset("option", $data);
        return $data;
    }
    /**
     * 获取缓存
     * @param $option
     * @return mixed|string
     */
    public function get($option)
    {
        $val = Redis::get()->hget('option', $option);
        if ($val === false) {
            $data = $this->cache();
            $val = $data[$option];
        }
        return $val;
    }
}